package com.cmwa.scbp.business.postMaintenance.service;

import java.util.List;
import java.util.Map;

import com.cmwa.scbp.base.mvc.entity.Page;
import com.cmwa.scbp.base.mvc.entity.Result;
import com.cmwa.scbp.base.mvc.entity.SearchParam;
import com.cmwa.scbp.business.postMaintenance.entity.PostPersonnelChangeVo;

/**
 * 岗位人员变更表业务接口层
 * 
 * @author ex-sujh
 * @date 2019-02-22 10:46:12
 */
public interface PostPersonnelChangeService {
	
	public void insertPostPersonnelChange(PostPersonnelChangeVo postPersonnelChange);
		
	public void physicDeletePostPersonnelChangeById(String id);
		
	public void logicDeletePostPersonnelChangeById(String id);
		
	public void updatePostPersonnelChangeById(PostPersonnelChangeVo postPersonnelChange);
		
	public Page<PostPersonnelChangeVo> postPersonnelChangeListPage(SearchParam sp);
		
	public PostPersonnelChangeVo getPostPersonnelChangeById(String id);
	
	public List<Map<String, String>> queryResouceListByCondition(SearchParam sp);
	
	public void savePostPersonnelChange(PostPersonnelChangeVo postPersonnelChangeVo) throws Exception;
	
	public Result<?> checkEffctiveDateUnique(PostPersonnelChangeVo postPersonnelChangeVo);
	
	/** 更新变更同步标识及同步至岗位人员表 */
	public void updatePostPersonnelAndIsUse(PostPersonnelChangeVo postPersonnelChangeVo, String method) throws Exception;
	
	/** 批量更新变更同步标识及同步至岗位人员表 */
	public void batchUpdatePostPersonnelAndIsUse(List<PostPersonnelChangeVo> dataList, String method) throws Exception;
	
	/** 删除变更 */
	public void deletePostPersonnelChange(String id) throws Exception;
}
